{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Word and Constituent Boundary in Hierarchical Multiscale LSTM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy\n",
    "import glob\n",
    "import pickle\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def load_files():\n",
    "    results = []\n",
    "    for f in glob.glob(\"eval_*.pkl\"):\n",
    "        results.append(pickle.load(open(f, 'rb')))\n",
    "    results = sorted(results, key=lambda k: k['bpc'])\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "bpc_score_rst = load_files()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 0. Baseline: Random binary boundary indicators as baseline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import random\n",
    "import numpy as np\n",
    "from evaluate import EvaluateBoundary\n",
    "\n",
    "rand_file = 'rand.tmp'\n",
    "\n",
    "def rand_bound(file_truth):\n",
    "    # generate random binary indicators\n",
    "    labelize = lambda bounds: np.array(list(bounds.strip()))\n",
    "    with open(file_truth, 'r') as f:\n",
    "        truth = labelize(f.read())\n",
    "    _rand = [str(random.randint(0,1)) for i in range(len(truth))]\n",
    "    with open(rand_file, 'w') as f:\n",
    "        f.write(''.join(_rand))\n",
    "    \n",
    "    # evaluate random binary indicators\n",
    "    _eval = EvaluateBoundary('corpora/boundaries.txt', rand_file)\n",
    "    return _eval.evaluate(read_loss=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rand_score = rand_bound('corpora/boundaries.txt')[rand_file]\n",
    "rand_precision = rand_score[0][0]\n",
    "rand_recall = rand_score[1][0]\n",
    "rand_f1 = rand_score[2][0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. BPC vs. F1-score for layer-wise boundary indicators predicted by HM-LSTM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def bpc_vs_scores(bpc_score_rst, num_layers=3):\n",
    "    bpc = []\n",
    "    precision_all = [[] for i in range(num_layers)]\n",
    "    recall_all = [[] for i in range(num_layers)]\n",
    "    f1_all = [[] for i in range(num_layers)]\n",
    "    for v in bpc_score_rst:\n",
    "        if v['bpc'] > 1.98:\n",
    "            # abort bad LM model\n",
    "            continue\n",
    "        bpc.append(v['bpc'])\n",
    "        for l in range(num_layers):\n",
    "            layer = 'layer_{}_bound.txt'.format(l)\n",
    "            precision_all[l].append(v[layer][0][0])\n",
    "            recall_all[l].append(v[layer][1][0])\n",
    "            f1_all[l].append(v[layer][2][0])\n",
    "    return bpc, precision_all, recall_all, f1_all"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "bpc, _, _, f1 = bpc_vs_scores(bpc_score_rst)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_bpc_f1(bpc, f1, num_layers=3):\n",
    "    layer_name = ['word', 'phrase', 'sentence']\n",
    "    for l in range(num_layers):\n",
    "        lw = 3 if l is 1 else 1\n",
    "        plt.plot(bpc, f1[l], '-o', lw=lw, label='layer {} ({})'.format(l+1, layer_name[l]))\n",
    "    plt.axhline(y=rand_f1, label='random', color='red')\n",
    "    plt.xlabel('PTB Test BPC')\n",
    "    plt.ylabel('F1 Score')\n",
    "    plt.title('Layer-wise constituent predicted by HM-LSTM')\n",
    "    plt.legend(loc=\"lower left\")\n",
    "    plt.grid(True)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d4d2c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_bpc_f1(bpc, f1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 2. Phrase-level (layer 1) layer in-depth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def prec_recall_layer1(bpc_score_rst):\n",
    "    # sort by precision of layer 1\n",
    "    layer_key = 'layer_1_bound.txt'\n",
    "    bpc_score_rst = sorted(bpc_score_rst, key=lambda k: k[layer_key][0][0])\n",
    "    precision = []\n",
    "    recall = []\n",
    "    for v in bpc_score_rst:\n",
    "        precision.append(v[layer_key][0][0])\n",
    "        recall.append(v[layer_key][1][0])\n",
    "    return precision, recall"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "precision, recall = prec_recall_layer1(bpc_score_rst)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_prec_recall(precision, recall):\n",
    "    plt.plot(precision, recall, '-o')\n",
    "    plt.plot(rand_precision, rand_recall, 'ro', label='random')\n",
    "    plt.xlabel('Precision')\n",
    "    plt.ylabel('Recall')\n",
    "    plt.legend(loc=\"upper right\")\n",
    "    plt.title('Phrase-level (layer 2) constituent')\n",
    "    plt.grid(True)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ef2cdd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_prec_recall(precision, recall)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
